octaèdre dans un cube

A = Intersect(yAxis, zAxis)
B = Point(yAxis)
C = Point(Circle[B, Distance[A, B], Segment[A, B]])
a, D, E, F, G, H, faceABCD, faceADHE, faceABFE, faceBCGF, faceCDHG, faceEFGH, arêteAD, arêteAB, arêteBC, arêteCD, arêteAE, arêteDH, arêteEH, arêteEF, arêteBF, arêteFG, arêteCG, arêteGH = Cube(A, B, C)
f = Segment(H, A)
g = Segment(D, E)
h = Segment(E, B)
i = Segment(F, A)
j = Segment(E, G)
k = Segment(H, F)
l = Segment(F, C)
m = Segment(G, B)
n = Segment(B, D)
p = Segment(C, A)
I = Intersect(f, g)
J = Intersect(p, n)
K = Intersect(m, l)
L = Intersect(k, j)
M = Intersect(i, h)
q = Segment(G, D)
r = Segment(H, C)
N = Intersect(r, q)
b, faceIMKN_1, faceKLM, faceILM, faceILN, faceKLN, arêteKM_1, arêteIM_1, arêteIN_1, arêteKN_1, arêteKL, arêteLM, arêteIL, arêteLN = Pyramid(K, M, I, N, L)
c, faceIMKN, faceJKN, faceJKM, faceIJM, faceIJN, arêteKN, arêteKM, arêteIM, arêteIN, arêteJN, arêteJK, arêteJM, arêteIJ = Pyramid(N, K, M, I, J)